package com.luoqian.demo01;

public class GenericsMain {
    public static void main(String[] args) {

        // 泛型类在创建对象时，需要来指定具体的操作数据类型
        Generics<String> stringGenerics = new Generics<>("abc");
        String data = stringGenerics.getData();
        System.out.println(data);

        System.out.println("-----------------------");

        Generics<Integer> integerGenerics = new Generics<>(123);
        Integer data1 = integerGenerics.getData();
        System.out.println(data1);

        System.out.println("-----------------------");

        // 泛型类在创建对象的时候，没有指定类型，将按照Object类型来处理
        Generics generics = new Generics("ABC");
        Object data2 = generics.getData();
        System.out.println(data2);

        //泛型类的 泛型标识 不支持基本数据类型
        //Generics<int> generics1 = new Generics<int>(); // error

        System.out.println("-----------------------");

        //同一泛型类，根据不同的数据类型创建的对象，本质上是指向同一类型。
        System.out.println(stringGenerics.getClass());
        System.out.println(integerGenerics.getClass());
        System.out.println(stringGenerics.getClass() == integerGenerics.getClass());// true


    }
}
